package cn.edu.wfit.modules.learn.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import cn.edu.wfit.common.core.annotation.Excel;
import cn.edu.wfit.common.core.web.domain.BaseEntity;

/**
 * 课程学生关联对象 wfit_stu_course
 * 
 * @author ruoyi
 * @date 2025-07-18
 */
public class WfitStuCourse extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 关联ID，唯一标识课程与学生的关联记录 */
    private Long id;

    /** 学生学号，唯一标识学生 */
    @Excel(name = "学生学号，唯一标识学生")
    private String studentId;

    /** 学生姓名 */
    @Excel(name = "学生姓名")
    private String studentName;


    /** 课程ID，关联course表的课程ID */
    @Excel(name = "课程ID，关联course表的课程ID")
    private Long courseId;

    /** 是否加入（0: 加入, 1: 未加入） */
    @Excel(name = "是否加入", readConverterExp = "0=:,加=入,,1=:,未=加入")
    private String isJoined;

    /** 学生加入课程的日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "学生加入课程的日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date joinDate;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setStudentId(String studentId) 
    {
        this.studentId = studentId;
    }



    public String getStudentId() 
    {
        return studentId;
    }

    public void setStudentName(String studentName)
    {
        this.studentName = studentName;
    }
    public String getStudentName()
    {
        return studentName;
    }

    public void setCourseId(Long courseId) 
    {
        this.courseId = courseId;
    }

    public Long getCourseId() 
    {
        return courseId;
    }
    public void setIsJoined(String isJoined) 
    {
        this.isJoined = isJoined;
    }

    public String getIsJoined() 
    {
        return isJoined;
    }
    public void setJoinDate(Date joinDate) 
    {
        this.joinDate = joinDate;
    }

    public Date getJoinDate() 
    {
        return joinDate;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("studentId", getStudentId())
            .append("courseId", getCourseId())
            .append("isJoined", getIsJoined())
            .append("joinDate", getJoinDate())
            .toString();
    }
}
